package com.kgc.ljp;

import java.util.TimerTask;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;

    public class TimerDemo {
        public static void main(String[] args) {
            //创建一个定时器
            final Timer timer = new Timer();
            //倒计时
            //从0毫秒开始,每隔1秒钟显示剩余时间,10秒以后结束计时
            final long end = System.currentTimeMillis() + 1000*10;//end代表计时结束的时刻,10秒以后的时刻

            timer.schedule(new TimerTask(){
                public void run() {
                    //show 表示剩余时间
                    long show = end-System.currentTimeMillis();
                    long h = show/1000/60/60;//取小时
                    long m = show/1000/60%60;//取不够一个小时的分钟
                    long s = show/1000%60;//取不够一分钟的秒
                    System.out.println(h+":"+m+":"+s);
                }
            }, 0, 1000);
            //到时间后停止
            timer.schedule(new TimerTask(){
                public void run() {
                    timer.cancel();
                }
            }, new Date(end));

            //闹钟
  /*//计算出明天早上7:00:00作为开始时间start
  Calendar cal = new GregorianCalendar();
  cal.add(Calendar.DAY_OF_YEAR, 1);
  cal.set(Calendar.HOUR_OF_DAY,7);
  cal.set(Calendar.MINUTE,0);
  cal.set(Calendar.SECOND,0);
  Date start = cal.getTime();

  //计划明天早晨7点开始,间隔24小时，执行计划
  timer.schedule(new TimerTask(){
   public void run() {
    System.out.println("该起床了!");
   }
  }, start,1000L*60*60*24);*/
        }
    }
